#ifndef SPATIALPARTITIONING_H_
#define SPATIALPARTITIONING_H_

#include <list>

namespace physicsworks {

using std::pair;
using std::list;

class RigidBody;

class SpatialPartitioning {
public:
	virtual ~SpatialPartitioning() {}
	virtual list<pair<RigidBody*,RigidBody*> > getPotentialCollidingPairs() = 0;
	virtual void add(RigidBody* b) = 0;
	virtual void remove(RigidBody* b) = 0;
	virtual void update() = 0;
};

}

#endif /*SPATIALPARTITIONING_H_*/
